package com.carleasoft.mps.adu.business.position.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.carleasoft.mps.adu.business.position.bean.entity.AuthorityPositionGroupEntity;
import com.carleasoft.mps.adu.business.position.bean.po.AuthorityPositionGroupPagePo;
import com.carleasoft.mps.adu.business.position.bean.po.AuthorityPositionGroupPo;
import com.carleasoft.mps.adu.business.position.bean.vo.AuthorityPositionGroupVo;
import com.carleasoft.mps.adu.business.position.bean.vo.GroupPositionVo;
import com.carleasoft.mps.adu.business.position.bean.vo.PositionGroupVo;
import com.carleasoft.mps.adu.business.position.bean.vo.PositionVo;
import com.carleasoft.mps.core.tree.Tree;
import com.carleasoft.mps.core.user.SortPo;

import java.util.List;

/**
 * <p>Description: positionGroup service</p>
 * @since 2020-05-12
 * @author ztm
 */
public interface AuthorityPositionGroupService extends IService<AuthorityPositionGroupEntity> {

    /**
     * 添加岗位分组管理
     * @param authorityPositionGroupPo
     * @return
     */
    AuthorityPositionGroupEntity add(AuthorityPositionGroupPo authorityPositionGroupPo);

    /**
     * 修改岗位分组管理
     * @param authorityPositionGroupPo
     * @return
     */
    AuthorityPositionGroupEntity update(AuthorityPositionGroupPo authorityPositionGroupPo);

    Page doFindList(Page page, AuthorityPositionGroupPagePo authorityPositionGroupPo);

    Boolean deleteByCode(String positionGroupCode);

    Boolean updateSort(SortPo sortPo);

    List<PositionGroupVo> doFindTree(AuthorityPositionGroupPo authorityPositionGroupPo);

    GroupPositionVo doFindByCode(String positionGroupCode);

    Boolean checkPositionGroup(AuthorityPositionGroupPo authorityPositionGroupPo);
}
